/**
 *
 * $Id$
 */
package ServicePIM.validation;

import ServicePIM.AlgoResourceModel;
import ServicePIM.GetterFunction;
import ServicePIM.PIMComponentProperty;
import ServicePIM.RDBMSTable;
import ServicePIM.RepresentationMarshallingFunction;
import ServicePIM.RepresentationParseFunction;
import ServicePIM.ResourceInputRepresentation;
import ServicePIM.ResourceModelManager;
import ServicePIM.ResourceOutputRepresentation;
import ServicePIM.SetterFunction;

import org.eclipse.emf.common.util.EList;

/**
 * A sample validator interface for {@link ServicePIM.ResourceModel}.
 * This doesn't really do anything, and it's not a real EMF artifact.
 * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
 * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
 */
public interface ResourceModelValidator {
	boolean validate();

	boolean validateName(String value);
	boolean validateParentName(String value);
	boolean validateRModelHasIRepresentation(EList<ResourceInputRepresentation> value);
	boolean validateRModelHasOutputRepresentation(EList<ResourceOutputRepresentation> value);
	boolean validateRModelHasProperty(EList<PIMComponentProperty> value);
	boolean validateHasRelatedModelManager(EList<ResourceModelManager> value);
	boolean validateHasRelatedAlgoModel(EList<AlgoResourceModel> value);
	boolean validateRModelHasSetter(EList<SetterFunction> value);
	boolean validateRModelHasGetter(EList<GetterFunction> value);
	boolean validateIsMappedToRDBMSTable(RDBMSTable value);
	boolean validateRModelHasParseFunction(EList<RepresentationParseFunction> value);
	boolean validateRModelMarshallingFunction(EList<RepresentationMarshallingFunction> value);
}
